package com.example.czy.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.czy.base.qo.PageQO;
import com.example.czy.entity.Goods;
import com.example.czy.qo.GoodsQO;
import com.example.czy.vo.GoodsVO;

/**
 * @Author czy
 * @Date 2023-07-09
 **/
public interface GoodsService extends IService<Goods> {

    /**
     * 根据QO条件查询（注解方式）
     *
     * @param page 分页
     * @param qo 查询类
     * @return
     */
    Page<GoodsVO> pageByQO(PageQO page, GoodsQO qo);

    /**
     * 根据前端JSON查询
     * @param page 分页
     * @param json 前端组装JSON条件
     * @return
     */
    Page<GoodsVO> pageByJson(PageQO page, String json);

    /**
     * 后端自定义查询示例
     * @param page
     * @return
     */
    Page<GoodsVO> pageExample(PageQO page);
}
